package com.test;

public class ArrayTest4 {
    public static void main(String[] args) {
        //定义数组求最大值，33，5，22，44，55
        //1.定义数组用来存储5个值
        int[] arr = {33, 5, 22, 44, 55};
        //2.定义一个变量max用来存储最大值
        int max = arr[0];
        int min = arr[0];
        //3.循环获取每一个元素
        //拿着每一个元素与max进行比较
        for (int i = 1; i < arr.length; i++) {
            //i依次表示数组里面的每个索引
            //arr[i]依次表示数组里面的每一个元素

            max = arr[i] > max ? arr[i] : max;
            min = arr[i] < min ? arr[i] : min;
        }
        //4.输出最大值
        System.out.println("max=" + max);
        System.out.println("min=" + min);


        /*扩展问题;
        1.为什么max要记录为arr[0],默认值不能为0吗?
        不能写0
        max的初始化值一定要是数组中的值。
        2.循环中开始条件一定是0吗?
        循环的开始条件如果为0，那么第一次循环的时候是自己跟自己比了一下，对结果没有任何影响，但是效率偏低
        为了提高效率,减少一次循环的次数,循环开始条件可以写1.
        */

    }
}
